home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / visulztn / sphinx / sphinx.lha / utils / print_cm.c < prev    next >
C/C++ Source or Header  |  1993-03-27  |  1KB  |  74 lines

  1. #include <stdio.h>
  2. #include <fcntl.h>
  3. /*
  4.         Print a Sphinx Color-map
  5.  
  6. */
  7.  
  8. struct color_map
  9.     {
  10.     short red   [256];
  11.     short green [256];
  12.     short blue  [256];
  13.     };
  14.  
  15. typedef struct color_map color_map;
  16.  
  17. main(argc,argv)
  18.     int argc;
  19.     char * argv [];
  20. {
  21.     int fd_in;
  22.     color_map red_map, green_map, blue_map;
  23.  
  24.     if (argc != 2)
  25.     {
  26.     fprintf(stderr,"Usage is %s color-map-file\n",argv[0]);
  27.     exit(1);
  28.     }
  29.     fd_in = open(argv[1],O_RDONLY);
  30.     if (fd_in < 0)
  31.     {
  32.     fprintf(stderr,"Cannot read %s\n",argv[1]);
  33.     exit(1);
  34.     }
  35.  
  36.     read_map(fd_in,&blue_map, "blue");
  37.     read_map(fd_in,&green_map,"green");
  38.     read_map(fd_in,&red_map,  "red");
  39.  
  40.     print_map(&red_map,  'r');
  41.     print_map(&green_map,'g');
  42.     print_map(&blue_map, 'b');
  43.  
  44.     exit(0);
  45. }
  46.  
  47. read_map(fd_in,map,name)
  48.     int fd_in;
  49.     color_map * map;
  50.     char * name;
  51. {
  52.     int n;
  53.     n = read(fd_in,map->red,sizeof(map->red));
  54.     if (n != (sizeof(map->red))) return(-1);
  55.     n = read(fd_in,map->green,sizeof(map->green));
  56.     if (n != (sizeof(map->green))) return(-1);
  57.     n = read(fd_in,map->blue,sizeof(map->blue));
  58.     if (n != (sizeof(map->blue))) return(-1);
  59.     return(0);
  60. }
  61.  
  62. print_map(map,bank)
  63.     color_map * map;
  64.     char bank;
  65. {
  66.     int i;
  67.     for (i = 0; i < 256; i++)
  68.     {
  69.         printf("%c %03d  %03d %03d %03d\n",
  70.            bank,i,map->red[i],map->green[i],map->blue[i]);
  71.     }
  72. }
  73.  
  74.